package com.by.controller;

import com.by.entity.ProductAttrValue;
import com.by.result.Result;
import com.by.service.ProductAttrValueService;
import com.by.vo.ProductAttrValueVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/attr-value")
public class AttrValueController {

    @Autowired
    private ProductAttrValueService productAttrValueService;

    /**
     * 新增属性值
     * @param productAttrValuevo 属性值信息
     * @return 新增结果
     */
    @PostMapping("/save")
    public Result save(ProductAttrValueVo productAttrValuevo){
        ProductAttrValue productAttrValue = new ProductAttrValue();
        BeanUtils.copyProperties(productAttrValuevo, productAttrValue);
        productAttrValueService.saveOrUpdate(productAttrValue);
        return Result.success("新增成功");
    }
    /**
     * 删除属性值
     * @param attrValueId 属性值ID
     * @return 删除结果
     */
    @DeleteMapping("/delete")
    public Result delete(@RequestParam("attrValueId") Long attrValueId) {
        productAttrValueService.removeById(attrValueId);
        return Result.success("删除成功");
    }

    /**
     * 更新属性值
     * @param productAttrValuevo 属性值信息
     * @return 更新结果
     */
    @PutMapping("/update")
    public Result update(ProductAttrValueVo productAttrValuevo){
        ProductAttrValue productAttrValue = new ProductAttrValue();
        BeanUtils.copyProperties(productAttrValuevo, productAttrValue);
        productAttrValueService.updateById(productAttrValue);
        return Result.success("更新成功");
    }
}
